package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 应付汇总去付款对象 oa_pay_sum
 *
 * @author ruoyi
 * @date 2025-03-18
 */
public class OaPaySum extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 立项id */
    @Excel(name = "立项id")
    private Long initiationId;

    /** 供应商名 */
    @Excel(name = "供应商名")
    private String supplierId;

    /** 需付款金额 */
    @Excel(name = "需付款金额")
    private BigDecimal totalAmount;

    /** 付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdDate;
    @Excel(name = "允许支付的金额")
    private BigDecimal allowablePayment; // 强调"允许支付的金额"
    /** 付款金额 */
    @Excel(name = "付款金额")
    private BigDecimal paymentAmount;
    @Excel(name = "应付汇总id")
    private Long paybleSummaryId;
    public BigDecimal getAllowablePayment() {
        return allowablePayment;
    }

    public void setAllowablePayment(BigDecimal allowablePayment) {
        this.allowablePayment = allowablePayment;
    }

    public Long getPaybleSummaryId() {
        return paybleSummaryId;
    }

    public void setPaybleSummaryId(Long paybleSummaryId) {
        this.paybleSummaryId = paybleSummaryId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setInitiationId(Long initiationId)
    {
        this.initiationId = initiationId;
    }

    public Long getInitiationId()
    {
        return initiationId;
    }

    public void setSupplierId(String supplierId)
    {
        this.supplierId = supplierId;
    }

    public String getSupplierId()
    {
        return supplierId;
    }

    public void setTotalAmount(BigDecimal totalAmount)
    {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount()
    {
        return totalAmount;
    }

    public void setCreatedDate(Date createdDate)
    {
        this.createdDate = createdDate;
    }

    public Date getCreatedDate()
    {
        return createdDate;
    }

    public void setPaymentAmount(BigDecimal paymentAmount)
    {
        this.paymentAmount = paymentAmount;
    }

    public BigDecimal getPaymentAmount()
    {
        return paymentAmount;
    }

    @Override
    public String toString() {
        return "OaPaySum{" +
                "id=" + id +
                ", initiationId=" + initiationId +
                ", supplierId='" + supplierId + '\'' +
                ", totalAmount=" + totalAmount +
                ", createdDate=" + createdDate +
                ", allowablePayment=" + allowablePayment +
                ", paymentAmount=" + paymentAmount +
                ", paybleSummaryId=" + paybleSummaryId +
                '}';
    }
}
